home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / gus / modus01.zip / README.TXT < prev   
Text File  |  1993-06-11  |  5KB  |  163 lines

  1. MODUS - Mod Player for the Ultrasound V0.1
  2. -----------------------------------------
  3.  
  4. NOTICE: playing mods and working on important projects at the same time
  5. may be hazardous to your data.  This is a beta program with known bugs.  Their
  6. is a high possibility of the program causing you to have to reboot, so
  7. beware.
  8.  
  9. This is the first release of the MODUS player, and as such it has a couple
  10. of problems.  The main problem is the conflict with the ultrasnd.drv
  11. ultrasound windows drivers.  You won't hear any midi or wav sound after
  12. playing a mod.  Playing the windows exit wav also causes windows not to
  13. be able to exit.  However, the player itself is pretty stable.
  14.  
  15. MODUSPLY.EXE the MODUS module player was written by Benjamin Cooley (C) 1993,
  16. the GUSPLAY.DLL was converted from source code released by Robert Adolfson
  17. of CASCADA (C) 1993 (Much thanks for the code).
  18.  
  19. GUSPLAY.DLL functions...
  20.  
  21. Here is a description of the funcions available in the GUSPLAY.DLL library.
  22. You can access the functions in the .DLL via LoadLibrary() and
  23. GetProcAddress(), or you can create an import library (see your c compiler
  24. reference) which will automatically link the functions below into your
  25. program.
  26.  
  27. Function descriptions:
  28.  
  29.  
  30. BOOL FAR PASCAL MODInit(void)
  31.  
  32.   Initializes the MOD player.  Returns FALSE if couldn't initialize.
  33.  
  34. void FAR PASCAL MODFree(void)
  35.  
  36.   Frees all resource allocated by the MOD player.
  37.  
  38. BOOL FAR PASCAL MODLoad(LPSTR lpstrFileName)
  39.  
  40.   Loads a MOD file.  Returns FALSE if failed.
  41.  
  42. void FAR PASCAL MODPlay();
  43.  
  44.   Plays the loaded file
  45.  
  46. void FAR PASCAL MODStop();
  47.  
  48.   Stops playing and resets the position to the start.
  49.  
  50. void FAR PASCAL MODPause();
  51.  
  52.   Pauses play.
  53.  
  54. void FAR PASCAL MODResume();
  55.  
  56.   Resumes play.
  57.  
  58. void FAR PASCAL MODClear();
  59.  
  60.   Clears the current MOD from memory.
  61.  
  62. WORD FAR PASCAL MODLength();
  63.  
  64.   Returns the length (in patterns) of the current MOD.
  65.  
  66. int FAR PASCAL MODMode();
  67.  
  68.   Returns the play mode for the MOD.
  69.  
  70.   MODE_NOT_READY 0
  71.   MODE_STOP 1
  72.   MODE_PLAY 2
  73.   MODE_PAUSE 3
  74.  
  75. WORD FAR PASCAL MODLength();
  76.  
  77.   Returns the length (in patterns) of the current MOD.
  78.  
  79. int FAR PASCAL MODCurrentPattern(void);
  80.  
  81.   Returns the current pattern the MOD is playing 1..end.
  82.  
  83. int FAR PASCAL MODCurrentRow(void);
  84.  
  85.   Returns the row in the current pattern being played 1..64
  86.  
  87. int FAR PASCAL MODVolume();
  88.  
  89.   Returns the current play volume 0..64
  90.  
  91. void FAR PASCAL MODSetPattern(WORD wNewPattern);
  92.  
  93.   Sets the pattern being played to wNewPattern.  Sorry, can't
  94.   set rows because it ends up sounding like garbage.
  95.  
  96. void FAR PASCAL MODSetVolume(WORD wNewVolume);
  97.  
  98.   Sets the volume to wNewVolume 0..64
  99.  
  100. LPVOID FAR PASCAL MODInfo(void);
  101.  
  102.   Returns a pointer to the MOD file data sans the samples at the end.
  103.  
  104. int FAR PASCAL MODNumChannels(void);
  105.  
  106.   Returns the number of channels this MOD uses.  Can be 4, 6, or 8.
  107.  
  108. WORD FAR PASCAL MODChannelOn(void)
  109.   
  110.   Returns a bit map of the channels currently enabled for playing..
  111.   bit 0 is channel 1, bit 7 is channel 8.
  112.  
  113. void FAR PASCAL MODSetChannelOn(WORD wNewChannelOn);
  114.  
  115.   Sets the channels specified by wNewChannelOn on or off.  Bit 0
  116.   is channel 1, bit 7 is channel 8.
  117.  
  118. void FAR PASCAL MODSetCallBack(HWND hCallbackWnd, WORD wCallbackMsg);
  119.  
  120.   Tells the MOD library to send the message specified by wCallbackMsg
  121.   to the window hCallbackWnd every time a row is played or a command
  122.   is executed in the MOD player.  The window may then update its 
  123.   display to show what's happening.  The wCallbackMsg should be a 
  124.   user defined message (i.e. WM_USER + 101).  The wParam parameter
  125.   returns the message type, and the lParam parameter returns a
  126.   data structure describing the state of the MOD player.
  127.  
  128.   wParam - Type:
  129.  
  130.   MODMSG_REC 1 - Sent when a mod record is played (every beat of song)
  131.   MODMSG_LOAD 2 - Sent when a file is loaded
  132.   MODMSG_PLAY 3 - Sent when a file is played
  133.   MODMSG_PAUSE 4 - Sent when the MOD is paused
  134.   MODMSG_RESUME 5 - Sent when the MOD is resumed
  135.   MODMSG_STOP - Sent when the MOD is stopped
  136.   MODMSG_CLEAR - Sent when the MOD is cleared
  137.   MODMSG_VOLCHANGE - Sent when the volume is changed
  138.   MODMSG_POSCHANGE - Sent when the position is changed by the user not the mod
  139.   MODMSG_CHANCHANGE - Sent when the channel play status is changed
  140.   MODMSG_SONGDONE - Sent when the curent song is done playing
  141.   
  142.   lParam - MODRECINFO structure
  143.  
  144. typedef tagMODRECINFO
  145. {
  146.    WORD wPlayMode;        // Current Play Mode
  147.    WORD wCurrentPattern;  // Current pattern playing
  148.    WORD wPatternPos;      // Position in the song from beginning 1..end
  149.    WORD wRowPos;          // Current row position 1..64
  150.    WORD wNotePlayed;      // Bit map of notes played for all tracks
  151.    BYTE bPatches[8];      // Patch numbers of notes played
  152. } MODRECINFO;
  153.  
  154.  
  155. Sorry about the bugs.. enjoy.   
  156.    
  157.  
  158.   
  159.   
  160.  
  161.    
  162.   
  163.